Providing a user-friendly way to remotely control electronic devices, such as home electronics, presents significant engineering challenges. For example, a home electronics center may contain multiple devices, each with its own remote control. While a universal remote control may replace the various remote controls, configuring the universal remote to communicate with each of the multiple devices is challenging and potentially awkward, and thus frustrating to the user.
Furthermore, a user may become confused as to what state a particular device is in and, as a result, use a remote control to issue an instruction to the particular device that does not match the user's wishes. For example, pressing a power button on a remote control typically results in transmission of a “toggle power” signal that turns a device off if it is on and on if it is off. If the user is confused as to whether the device is on or off, pressing the power button will result in turning the device on or off when the user wanted the opposite result.
Accordingly, there is a need for a remote control system that can automatically identify devices to be controlled and track the states of the devices to be controlled.